<?php

/**
 * A LOGIN legegyszerűbb kezelése egy fake box. Mivel tök ugyanúgy működik és tök ugyanúgy
 * néz ki, mint a többi box.
 *
 * Ez egy spéci "cikklista"...
 *
 * @author _inf
 *
 */
class LoginBoxContentList extends BoxContentList {

	public function LoginBoxContentList($_parentTab) {
		$this->id = ConstHandler::get('LOGIN_BOXCONTENTLIST_FAKE_ID');
		$this->parentBoxTab = $_parentTab;
		$this->langcode = $_parentTab->langcode;
		$this->isDefault = true;

		$this->type = BOXCONTENTLIST_TYPE_FIXED;
		$this->sizeMin = null;
		$this->sizeMax = null;

		$this->reloadState();
	}

	/**
	 * Ezt felül kell írni, h tuti ne csináljon semmit. Amúgy az őse sem csinált volna
	 * semmit jelenleg - lévén ez egy fix lista - de azért tuti ami tuti!
	 */
	public function initArticleList($targetElementWeights)
	{
	}

	/**
	 * HTML generálása. Na, ez tök más mint az ősclassban...
	 * @return string
	 */
	public function generateHtml() {
		$html = "";
			
		// meg kell nezni van e bejelentkezett mokus
		$user = UserHandler::getUser();
			
		if (is_null($user)) {
			// nincs bejelentkezett
			$tpl = BaseSitePage::loadTemplateFile(ConstHandler::get('LOGIN_BOX_LOGGED_OUT_TEMPLATE'));
			TextHandler::insertTextsIntoTemplate($tpl, null, "loginbox_");
			$tpl->setVariable('link_passwordReminder', ContentUrlManager::getContentGeneratorUrl(SiteHandler::getCurrentSiteId(), "LostPasswordPage", TextHandler::getCurrentLangcode()));
			$tpl->setVariable('link_registration', ContentUrlManager::getContentGeneratorUrl(SiteHandler::getCurrentSiteId(), "RegistrationPage", TextHandler::getCurrentLangcode()));

			$tpl->setVariable('loginUrl', HydraLinkProvider::getLink('page'));

			if(empty(LoginBox::$loginError)) {
				$tpl->setVariable('loginErrorVisible', "hidden");
				$tpl->setVariable('loginErrorText', "");
			} else {
				$tpl->setVariable('loginErrorVisible', "");
				$tpl->setVariable('loginErrorText', LoginBox::$loginError);
			}

			$html = $tpl->get();

		} else {
			// van bejelentkezett
			$tpl = BaseSitePage::loadTemplateFile(ConstHandler::get('LOGIN_BOX_LOGGED_IN_TEMPLATE'));
			TextHandler::insertTextsIntoTemplate($tpl, null, "loginbox_");

			$userNameFull = TextHandler::getParsedText('loginbox_in_welcome', array('userName' => $user->getRealName(TextHandler::getCurrentLangcode())));
			$tpl->setVariable('userName', $userNameFull);

			$logoutUrl = UrlUtil::addRequestParametersToUrl(UrlUtil::getRequestUrl(true), array("logout" => "1"));
			$tpl->setVariable('logoutUrl', $logoutUrl);

			$tpl->setVariable('link_personProfile', HydraLinkProvider::getLink('profilePage'));

			$html = $tpl->get();
		}

		return $html;
	}

}
?>